// 以下内容在 /utils/plugins.js 中
import Vue from 'vue'
import store from '../store';
// uni中的store不需要注册到main.js的 new Vue 中
Vue.prototype.$store = store;

// 以下内容在 /utils/plugins.js 中
Vue.prototype.$toast = (title, duration = 1500) => uni.showToast({
  icon: 'none',
  title,
  duration
})

Vue.prototype.$storageSync = (key, value, seconds) => {
  var timestamp = Date.parse(new Date()) / 1000
  if (key && value === null) {

    //删除缓存
    //获取缓存
    var val = uni.getStorageSync(key);
    var tmp = val.split("|")
    if (!tmp[1] || timestamp >= tmp[1]) {
      console.log("key已失效")
      uni.removeStorageSync(key)
      return ""
    } else {
      console.log("key未失效")
      return tmp[0]
    }
  } else if (key && value) {
    //设置缓存
    if (!seconds) {
      var expire = timestamp + (3600 * 24 * 28)
    } else {
      var expire = timestamp + seconds
    }
    value = value + "|" + expire
    uni.setStorageSync(key, value);
  } else {
    console.log("key不能空")
  }
}

// Vue.prototype.$router = (url) => uni.navigateTo({
//   url: '/pages' + url,
//   animationType: "slide-in-left", // 跳转动画
//   animationDuration: 800
// })
// // 跳转底部 tabbar 对应的页面
// Vue.prototype.$switchTab = (url) => uni.switchTab({
//   url: '/pages' + url
// })
// // 关闭其它页面，跳转
// Vue.prototype.$relaunch = (url) => uni.reLaunch({
//   url: '/pages' + url
// })

Vue.prototype.$uniCloud = async (name, data) => {
  try {
    let res = await uniCloud.callFunction({
      name, // 云函数名字
      data // 传输数据
    })
    return res
  } catch (e) {
    return e
  } finally {}
}

Vue.prototype.back = function(page) {
	const pages = getCurrentPages();  //判断跳转了多少页
	if (pages.length === 2) {  
		uni.navigateBack({
			delta: 1
		});
	} else if (pages.length === 1) { //如果没有上一页返回首页
		uni.switchTab({
			url: '/pages/home',
		})
	} else {
		uni.navigateBack({   
			delta: page || 1,     
		});
	}
 
}
